iT邦幫忙

2023 iThome 鐵人賽

DAY 20
0
自我挑戰組

python-資料分析與機器學習系列 第 20

DAY20-循環神經網路(RNN)(上)

  • 分享至 

  • xImage
  •  

循環神經網絡(Recurrent Neural Network,RNN),主要用於處理序列數據,如時間序列、自然語言處理等,因為RNN前面的輸入和後面的輸入有關連性,因此適合翻譯、氣象預測、股票分析等等。

循環神經網路主要分為三種模型,Simple RNN和LSTM和GRU:
簡單循環神經網絡(Simple RNN)
Simple RNN 是最基本的循環神經網絡,其結構相對簡單。在每個時間步,Simple RNN 接受當前輸入和先前時間步的隱藏狀態,然後生成新的隱藏狀態和輸出。
優點:雖然Simple RNN的能力有限,但它仍然可用於簡單的序列建模,例如簡單的語言建模和時間序列預測。

長短時記憶網絡(LSTM)
LSTM 是一種改進的RNN變種,它引入了門控機制以解決梯度消失問題。LSTM具有三個主要的門:遺忘門(Forget gate)、輸入門(Input gate)和輸出門(Output gate),以控制信息的流動。這使得LSTM能夠更好地捕捉長期相依性。
優點:LSTM非常適合處理長序列,能夠有效地記住和利用長期的上下文,因此在NLP和時間序列預測等領域中廣泛應用。

門控循環單元(GRU)
GRU也是一種改進的RNN變種,相對於LSTM,它結構更簡單,只有兩個主要的門:更新門(Update Gate)和重置門(Reset Gate)。GRU的設計旨在簡化LSTM,同時保留良好的長期相依性建模能力。
優點:GRU在一些任務上與LSTM性能相當,但具有更少的參數和計算成本,因此在某些情況下更具吸引力。

梯度消失
RNN有一個非常致命的缺點,很容易梯度消失。神經網絡反向傳播中,當梯度從後往前傳時,梯度不斷減小,最後變為零,此時,淺層的神經網絡權重得不到更新,那麼前面隱藏層的學習速率低於後面隱藏層的學習速率,即隨著隱藏層數目的增加,分類準確率反而下降了。這種現象叫做梯度消失。

---20231005---


上一篇
DAY19-卷積神經網路(CNN)(下)
下一篇
DAY21-循環神經網路(RNN)(下)
系列文
python-資料分析與機器學習30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言